'''
练习
写一个自行车bicycle类，有run功能，run中显示骑行多长距离
再写一个子类Ebicycle，添加属性num表示电量
覆盖run(km）方法，方电量>0的时候，用电来行驶（输出，xx店行驶xx公里）
当电量《=0时，在调用父类的方法，把剩余的公里数用自信车run来行驶
'''

class Bicycle():

    def __init__(self):
        pass
    def run(self,km):
        print('自行车骑行：{}公里'.format(km))

class EBicycle(Bicycle):
    def __init__(self,num):
        self.num = num
        super().__init__()
        print('当前电动车电量',self.num)

    def run(self,km):
        while self.num!=0 and km >0:
            self.num-=1
            km-=10
            print('电动车行驶了{}km'.format(10))
        if km >=0:
            super().run(km)
            # super(EBicycle,EBicycle(self.num)).run(km)
        print('行驶完成')

    def charge(self,num):
        self.num+=num
        print('电动车充电了有{}电'.format(self.num))


eb = EBicycle(5)
eb.run(60)
eb.charge(100)

# A是否是B的子类
print(issubclass(EBicycle,Bicycle))